

<table border>
  <tr>
    <th>Fichier</th>
    <th>Classe(s) d&eacute;finie(s)</th>
    <th>Description</th>
  </tr>



  <tr>
    <td><a href="Point2D.java">Point2D.java</a></td>
    <td>Point2D</td>
    <td rowspan=3>Des classes de nature math&eacute;matique / g&eacute;om&eacute;trique</td>
  </tr>
  <tr>
    <td><a href="Vector2D.java">Vector2D.java</a></td>
    <td>Vector2D</td>
  </tr>
  <tr>
    <td><a href="AlignedRectangle2D.java">AlignedRectangle2D.java</a></td>
    <td>AlignedRectangle2D</td>
  </tr>



  <tr>
    <td><a href="Point2DUtil.java">Point2DUtil.java</a></td>
    <td>Point2DUtil</td>
    <td>Une classe contenant des m&eacute;thodes
       pour tester si un point est &agrave; l'int&eacute;rieur
       d'un polygone (utile pour r&eacute;aliser des effets de surbrilliance,
       et pour r&eacute;aliser la s&eacute;lection en lasso),
       pour calculer l'enveloppe convexe d'un ensemble de points
       (utile pour dessiner des "bulles" autour d'un ou plusieurs objets),
       et pour transformer un ensemble de points selon le d&eacute;placement
       d'un ou deux doigts (utile dans les interfaces multitactiles).
    </td>
  </tr>



  <tr>
    <td><a href="GraphicsWrapper.java">GraphicsWrapper.java</a></td>
    <td>GraphicsWrapper</td>
    <td>Une classe qui facilite le dessin en 2D.
        Il y a deux int&eacute;r&ecirc;ts &agrave; utiliser cette classe:
        d'abord, elle facilite la gestion de zoom et pan dans une vue 2D
        (transformation entre les syst&egrave;mes de coordonn&eacute;es "pixels" et "espace monde"
        au moment du dessin et au moment de la r&eacute;ception d'&eacute;v&eacute;nements
        de souris).
        Deuxi&egrave;mement, l'implementation qui vous est fournie
        utilise Java2D/Graphics2D pour dessiner,
        mais on peut faciliment changer cette implementation pour
        une autre version qui utilise OpenGL pour dessiner,
        ce qui permet de dessiner beaucoup d'objets rapidement.
        (Demandez au prof pour une copie de la version OpenGL de GraphicsWrapper,
        si cela vous int&eacute;resse.)</td>
  </tr>


  <tr>
    <td><a href="Constant.java">Constant.java</a></td>
    <td>Constant</td>
    <td>Quelques constantes</td>
  </tr>



  <tr>
    <td><a href="CustomWidget.java">CustomWidget.java</a></td>
    <td>CustomWidget</td>
    <td rowspan=4>Des classes servant &agrave; d&eacute;finir des widgets contextuels</td>
  </tr>
  <tr>
    <td><a href="ColorPaletteWidget.java">ColorPaletteWidget.java</a></td>
    <td>ColorPaletteWidget<br/>
        <br/>
        <br/>
        &nbsp;&nbsp;<img src="images/ColorPaletteWidget_thumbnail.png">&nbsp;&nbsp;
        <br/>
        <br/>
        </td>
  </tr>
  <tr>
    <td><a href="RadialMenuWidget.java">RadialMenuWidget.java</a></td>
    <td>RadialMenuWidget<br/>
        <br/>
        <br/>
        &nbsp;&nbsp;<img src="images/RadialMenuWidget_thumbnail.png">&nbsp;&nbsp;
        <br/>
        <br/>
        </td>
  </tr>
  <tr>
    <td><a href="ControlMenuWidget.java">ControlMenuWidget.java</a></td>
    <td>ControlMenuWidget<br/>
        <br/>
        <br/>
        &nbsp;&nbsp;<img src="images/ControlMenuWidget1_thumbnail.png"><img src="images/ControlMenuWidget2_thumbnail.png">&nbsp;&nbsp;
        <br/>
        <br/>
        </td>
  </tr>








  <tr>
    <td><a href="SimplePaint.java">SimplePaint.java</a></td>
    <td>MyShape, MyCanvas, SimplePaint</td>
    <td>Les classes principales et le point d'entr&eacute;e main()</td>
  </tr>

</table>

&nbsp;<br/>
&nbsp;<br/>
&nbsp;<br/>
&nbsp;<br/>
&nbsp;<br/>



